package com.spzx.product.service.impl;

import com.spzx.common.redis.annotation.XingXingCache;
import com.spzx.product.domain.Brand;
import com.spzx.product.mapper.BrandMapper;
import com.spzx.product.service.BrandService;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @ClassName BrandServiceImpl
 * @Author 波
 * @Date 2024/7/28 12:40
 */
@Service
public class BrandServiceImpl implements BrandService {
    @Resource
    private BrandMapper brandMapper;
    /**
     * 分页查询品牌列表信息
     * @param brand
     * @return
     */
    @Override
    public List<Brand> findBrandPageList(Brand brand) {
        return brandMapper.findBrandPageList(brand);
    }

    /**
     * 根据id获取品牌详情信息
     * @param id 品牌ID
     * @return 品牌信息
     */
    @Override
    public Brand findBrandDetailInfoById(Long id) {
        return brandMapper.findBrandDetailInfoById(id);
    }

    /**
     * 新增品牌
     * @param brand 传入的品牌信息
     * @return 受影响的行数
     */
    @Override
    public int addBrand(Brand brand) {
        return brandMapper.addBrand(brand);
    }
    /**
     * 修改品牌
     * @param brand 传入的品牌信息
     * @return 受影响的行数
     */
    @Override
    public int updateBrand(Brand brand) {
        return brandMapper.updateBrand(brand);
    }
    /**
     * 删除品牌信息
     * @param ids 传入的id数组
     * @return 受影响的行数
     */
    @Override
    public int deleteBrand(Long[] ids) {
        return brandMapper.deleteBrand(ids);
    }

    /**
     * 查询所有品牌信息
     * @return 所有品牌信息
     */
    @Override
    @XingXingCache(prefix = "product:brand")
    public List<Brand> findAllBrand() {
        return brandMapper.findBrandPageList(null);
    }
}
